﻿/*
 * Crée par SharpDevelop.
 * Utilisateur: eldunkerquois
 * Date: 28/06/2011
 * Heure: 16:45
 * 
 * Pour changer ce modèle utiliser Outils | Options | Codage | Editer les en-têtes standards.
 */
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

using Db4objects.Db4o;
using Db4objects.Db4o.CS;

using System.Configuration;

using openxml.butter.controller;

namespace OpenXmlBetterWebTest
{
	/// <summary>
	/// Description of PageWithData
	/// </summary>
	public class PageWithData : Page
	{
		//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
		#region Data

		protected IObjectServer _server = null;
		protected IObjectContainer _db =null;

		#endregion
		//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
		#region Page Init & Exit (Open/Close DB connections here...)

		protected void PageInit(object sender, System.EventArgs e)
		{
			Console.WriteLine("Init Page") ;
			string filePath = ConfigurationManager.AppSettings["DatabaseFileName"];
			
			try
			{
				//ouvrir le serveur				
				_server = Db4oClientServer.OpenServer(filePath, 0);
				Console.WriteLine("Server ouvert");
				
				try
				{
					//ouvrir la base de données
					_db = _server.OpenClient();
					Console.WriteLine("Client ouvert");
					
				}
				catch (Exception excp )
				{
					Console.WriteLine("Pb lors de l'ouverture client : {0} ", excp.Message );
					_server.Close();
					_server = null;
				}
			}
			catch (Exception excp2 )
			{
				Console.WriteLine("Impossiblie d'ouvrir le server :{0}",excp2.Message ) ;
			}

		}
		//----------------------------------------------------------------------
		protected void PageExit(object sender, System.EventArgs e)
		{
			Console.WriteLine("Exit Page") ;
			
			if ( _server != null )
			{
				try
				{
					if ( _db != null )
					{
						_db.Close();
						_db = null;
						Console.WriteLine("Client fermé" );
					}
				}
				catch (Exception excp )
				{
					Console.WriteLine("Pb de fermeture client : {0}",excp.Message );
				}
				finally
				{
					_server.Close();
					_server = null;
					Console.WriteLine("server fermé!" );
				}
				
				
			}
			
		}

		#endregion
		//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
		#region Page Load
		private void Page_Load(object sender, System.EventArgs e)
		{
			
		}
		#endregion
		//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
		
		
		//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
		#region Add more events here...

		#endregion
		//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
		#region Initialize Component

		protected override void OnInit(EventArgs e)
		{	InitializeComponent();
			base.OnInit(e);
		}
		//----------------------------------------------------------------------
		private void InitializeComponent()
		{	//------------------------------------------------------------------
			this.Load	+= new System.EventHandler(Page_Load);
			this.Init   += new System.EventHandler(PageInit);
			this.Unload += new System.EventHandler(PageExit);
			
		}
		#endregion
		//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
	}
}
